let vm = new Vue({
    el: '.main-container',  //选中整个main
    data() {
        return {
            name: '',
            setting: {
                isShow: false,
                data: {
                    simpleData: {
                        enable: true,
                        pIdKey: "parentId",//父节点的名字
                        idKey: "id" //子节点的名字
                    },//开启简单树
                    key: {
                        title: 'ztree'
                    },
                },
                view: {
                    fontCss: this.fontCss
                },
                callback: {//回掉函数
                    onClick: this.onClick,
                    //根据编辑的返回值是否需要继续编辑
                },
            },
            nodes: []
        }
    },
    methods: {
        init: function () {
            axios({
                url: "/guguanjia/manager/sysOffice" //相对路径同样受到base标签影响
            }).then(
                response => {  //省略function关键字  自动传递上下文中的this
                    //this.apps = response.data.obj.list;
                    this.nodes = response.data.obj
                    this.nodes[this.nodes.length] = {'id': 0, 'name': '公司列表','open':true};
                    $.fn.zTree.init($("#select-tree"), this.setting, this.nodes);
                }
            ).catch(error => {
                console.log(error.message);
            })
            // console.log(tree)
        },
        onClick: function (event, pullDownTreeone, TreeNode) {
            if (TreeNode.id==0){
                return;
            }
            //把公司名回显
            this.name = TreeNode.name;
            //传递id和name
            parent.layer.aid = TreeNode.id;
            parent.layer.parentName = TreeNode.name;
            /*parent.layer.obj.name=TreeNode.name;*/
            let index = parent.layer.getFrameIndex(window.name);//根据当前窗体名字获取其索引值
            //console.log(index);
            parent.layer.close(index);//根据索引值关闭子窗口
            parent.layer.msg("更新成功");//根据索引值关闭子窗口
        },
        search: function () {
            //获取树对象，根据id获取
            let treeObj = $.fn.zTree.getZTreeObj("select-tree");
            //搜索前把所有样式清除
            //方法一：
            // this.init();
            //方法二
            let arrayNodes = treeObj.transformToArray(treeObj.getNodes());
            for (let i = 0; i <arrayNodes.length ; i++) {
                arrayNodes[i].highLight=false;
                //更新节点
                treeObj.updateNode(arrayNodes[i]);
            }
            //第一个参数是在节点的那个属性进行搜索，
            //第二参数：输入搜索的数据
            //第三参数：在那个父节点里面搜索
            if (this.name==''){
                //空的处理
            }else {
                let nodeFuzzy = treeObj.getNodesByParamFuzzy("name", this.name, null);
                for (let i = 0; i < nodeFuzzy.length; i++) {
                    nodeFuzzy[i].highLight = true;
                    //更新节点
                    treeObj.updateNode(nodeFuzzy[i]);
                }
            }
        },
        fontCss: function (treeID, treeNode) {
            return treeNode.highLight ? {'color': 'red'} : {'color': 'black'};
        },

    },
    mounted: function () {//在ul节点挂载后初始化树
        this.init();
    }
});